CFD: 清华大学计算流体力学大作业,放在这里供大家参考 | 您所在的位置:网站首页 › 清华大学 计算力学 › CFD: 清华大学计算流体力学大作业,放在这里供大家参考 |
CFD
一个不得不做的大作业 主要内容包括:求解椭圆型方程计算网格、涡量-流函数法计算圆柱绕流
直接包含了eigen库,设置的时候在项目属性中
..代表上一级文件夹,根据你建的项目位置不同自己试几次 然后在文件中写: #include using namespace Eigen; 网格生成 效果示范
三种迭代方法 void iteration_J(MatrixXd& x, MatrixXd& y) void iteration_GS(MatrixXd& x, MatrixXd& y) void iteration_relaxation(MatrixXd& x, MatrixXd& y,double a) //a目测1.5效果最佳将初始化好边界的X、Y导入即可。 更新将之前的程序整合了一下,放在homework1_a/mesh里面 现在的程序包括: //初始化网格 void init_circle(MatrixXd& x, MatrixXd& y)//对圆初始化,滑动边界 void init_airfoil(MatrixXd& x, MatrixXd& y)//对NACA0012翼型初始化,滑动边界 void init_circle_sta(MatrixXd& x, MatrixXd& y)//对圆初始化,固定边界 void init_airfoil_sta(MatrixXd& x, MatrixXd& y)//对NACA0012翼型初始化,固定边界 //初始化源项 void init_PQ(MatrixXd& p, MatrixXd& q)//任意给定源项 void init_PQ_orth(MatrixXd& x, MatrixXd& y, MatrixXd& p, MatrixXd& q)//给定源项使得网格线与边界正交 //迭代函数 void iteration_J(MatrixXd& x, MatrixXd& y, MatrixXd& p, MatrixXd& q)//Jacobi迭代,适用滑动边界 void iteration_GS(MatrixXd& x, MatrixXd& y, MatrixXd& p, MatrixXd& q)//Gauss-Seidel迭代,适用滑动边界 void iteration_relaxation(MatrixXd& x, MatrixXd& y,double a, MatrixXd& p, MatrixXd& q)//松弛迭代,适用滑动边界,目测a=1.5为宜 void iteration_relaxation_sta(MatrixXd& x, MatrixXd& y, double a, MatrixXd& p, MatrixXd& q)//松弛迭代,适用固定边界 //经实测,若要使用init_PQ_orth初始化源项,必须使用固定边界,否则迭代会不收敛,原因不详matlab文件为: plot_circle.m:绘制圆周围的网格 plot_airfoil.m:绘制NACA0012翼型周围的网格 圆柱绕流部分效果详见视频,picture文件夹下
采用涡量-流函数法,在1b/flow_around_cylinder_breakpoint下
|
CopyRight 2018-2019 实验室设备网 版权所有 |